package com.opal.jx.service;

import com.opal.jx.entity.JxAssessReception;
import com.opal.jx.entity.table.JxEmp;

import java.util.List;

public interface JxWLBService {

    /**
     * 查询员工表中物流部pmc的员工
     * @param pkDept
     * @return
     */
    Object selectEmpAndDept(String pkDept);

    /**
     * 查询当月绩效表中的数据
     * @param year
     * @param month
     * @return
     */
    Object queryJxAssessWlbPmcAndYearAndMonth(Integer year, Integer month,Integer type);

    /**
     * 添加物流部-pmc部门数据
     * @param jxAssessReception
     * @return
     */
    Object addPmcData(JxAssessReception jxAssessReception);

    //成品科

    /**
     * 成品科-查询不是管理层的员工
     * @param pkDept
     * @return
     */
    List<JxEmp> selectCpkEmpByDeptAndNotInPostId(String pkDept);

    /**
     * 成品科-查询管理层的员工
     * @return
     */
    List<JxEmp> selectCpkEmpByDeptAndInPostId(String pkDept);

    /**
     * 获取配件组部门当月绩效数据
     * @param year
     * @param month
     * @param type
     * @return
     */
    Object queryJxAssessWlbCpk(Integer year, Integer month, Integer type);

    // 配件组
    /**
     * 写死的语句，只用于配件部门;查询除了主管和组长的员工
     * @param pkDept
     * @return
     */
    List<JxEmp> selectPjzEmpNotZgAndZz(String pkDept);

    /**
     * 写死的语句，只用于配件部门;查询主管和组长
     * @param pkDept
     * @return
     */
    List<JxEmp> selectPjzEmpSoAsZgAndZz(String pkDept);

    /**
     * 添加物流部-配件组部门数据
     * @param jxAssessReception
     * @return
     */
    Object addPjzData(JxAssessReception jxAssessReception);

    /**
     * 获取配件组部门当月绩效数据
     * @param year
     * @param month
     * @param type
     * @return
     */
    Object queryJxAssessWlbPjz(Integer year, Integer month, Integer type);

    /**
     * 写死的语句，只用于原材料部门;查询除了主管和叉车司机、清洁工
     * @param pkDept
     * @return
     */
    List<JxEmp> selectPjzEmpNotZgAndCcAndQj(String pkDept);

    /**
     * 写死的语句，只用于原材料部门;查询主管和叉车司机、清洁工三个职务员工
     * @param pkDept
     * @return
     */
    List<JxEmp> selectPjzEmpSoAsZgAndCcAndQj(String pkDept);

    /**
     * 获取原材料组部门当月绩效数据
     * @param year
     * @param month
     * @param type
     * @return
     */
    Object queryJxAssessWlbYcl(Integer year, Integer month, Integer type);

    /**
     * 添加物流部-原材料部门数据
     * @param jxAssessReception
     * @return
     */
    Object addYclData(JxAssessReception jxAssessReception);

    /**
     * 添加物流部-成品科部门数据
     * @param jxAssessReception
     * @return
     */
    Object addCpkData(JxAssessReception jxAssessReception);
}
